var http = require("http");
var fs = require("fs");
var url = require("url");
var path = require("path");

var server = http.createServer(function(req,res){
    var pathname = url.parse(req.url).pathname; // 得到地址
    // 判断用户输入的地址是文件夹地址还是文件地址
    if(pathname.indexOf(".") == -1){ //文件夹地址就自动请求首页
        pathname += "/index.html";
        console.log("bingo")    
    }
    var fileURL = path.normalize("static/" + pathname);
    var extname = path.extname(pathname)   // 得到扩展名
    fs.readFile(fileURL,function(err,data){
        if(err){ // 文件不存在
            res.writeHead(404,{"Content-Type":"text/html;charset=UTF8"});
            res.end("404,页面没有找到");
        }
        getMime(extname,function(mime){
            res.writeHead(200,{"Content-Type":mime});
            res.end(data);
        })
    });
});
server.listen(2000,"127.0.0.1");
function getMime(extname,callback){
    // 读取mine.json文件 得到json  根据extname返回对应的value
    fs.readFile("./mime.json",function(err,data){
        if(err){
            throw Error("找不到mine.json文件");
            return;
        }
        var mimeJSON = JSON.parse(data);// 得到的是对象 转换为json类型
        var mime = mimeJSON[extname] || "text/plain";   // 如果没有找到里面对应的类型 就输出文本
        callback(mime); // 执行回调函数 mime类型字符串就是他的参数
    })
}